orbclient
The Orbital Client Library. Compatible with Redox and SDL2 (on Linux and Macos).
Dependencies
If you are NOT using the "bundled" feature (which is off by default) then you need SDL (sdl2) installed on your system.
macos
On macos you can install the SDL2 library using brew install sdl2
Features
The "serde"
feature can be used to include code for Color
deserialization using the serde
crate (which is an
optional dependency). This is not enabled by default. To enable, either build using the --features "serde"
command
line option, or use features = ["serde"]
in your crate, where it declares a dependency on orbclient.
The std
feature is used to allow building orbclient
with our without rust std
.
This is to enable use by some UEFI apps (e.g. System76 firmware setup, System76 firmware updater) that don't have std
.
The "unifont
feature (on by default is used to include the "unifont" font).
The bundled
feature removes the need to have SDL2 installed locally. The SDL library is compiled from source
as part of the crate build and bundled with it.
Troubleshooting
- Make sure that you work with the current
nightly
version of Rust- To make sure of that, please use rustup
- Don't forget to override your work directory with
rustup override set nightly
- Don't forget to update the
nightly
version of Rust withrustup update nightly
- SDL2 should be automatically with orbclient if you have trouble try to install it
libsdl2-dev
manually- For example, with Ubuntu, please to type
sudo apt-get install libsdl2-dev
in your console
- For example, with Ubuntu, please to type
- On fedora please type
sudo dnf install SDL2-devel SDL2-static
in your console before building.- if during building, this message comes up
could not find native static library `SDL2main`, perhaps an -L flag is missing?
. Providing the path to the static library might help. You can provide this path viaRUSTFLAGS='-L <path-to-folder-with-libSDL2.a>' cargo b ...
. At the moment of writing, the SDL2 library is stored under /usr/lib64 on fedora. In this case you would typeRUSTFLAGS='-L /usr/lib64' cargo r --example simple
to start the simple example.
- if during building, this message comes up
- Other problem? Do not hesitate to create a new issue!